import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import java.util.List;

class SujetDiscussion extends UnicastRemoteObject implements
		InterfaceSujetDiscussion {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1080061248914638677L;

	private final String titre;

	// liste des protagonistes de ce sujet de discussion
	private List<InterfaceAffichageClient> protagonistes = new ArrayList<InterfaceAffichageClient>();

	public SujetDiscussion(String titre) throws RemoteException {
		this.titre = titre;
	}

	public synchronized void inscription(InterfaceAffichageClient c)
			throws RemoteException {
		// ...
		protagonistes.add(c);
	}

	public synchronized void desInscription(InterfaceAffichageClient c)
			throws RemoteException {
		// ...
		protagonistes.remove(c);
	}

	public synchronized void diffuse(String message) throws RemoteException {
		// ...
		if (!protagonistes.isEmpty()) {
			for (InterfaceAffichageClient c : protagonistes) {
				c.affiche(message + "\n\n");

			}

		}
	}

	public String getTitre() {
		return titre;
	}

}
